package com.shijunhao.graduation.service.business;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.shijunhao.graduation.domain.dto.BusinessForumDto;
import com.shijunhao.graduation.domain.dto.BusinessNoteDto;
import com.shijunhao.graduation.domain.entity.BusinessForum;
import com.shijunhao.graduation.domain.entity.BusinessNote;
import com.shijunhao.graduation.domain.vo.BusinessForumListVo;
import com.shijunhao.graduation.domain.vo.BusinessForumMineVo;
import com.shijunhao.graduation.domain.vo.BusinessForumVo;
import com.shijunhao.graduation.domain.vo.BusinessNoteListVo;
import com.shijunhao.graduation.service.system.BaseService;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author shijunhao
 * @since 2022-04-16
 */
public interface IBusinessForumService extends BaseService<BusinessForum> {
    Long insert(BusinessForumDto dto);

    /**
     * @param dto: 更新实体
     * @return: boolean
     * @author: shijunhao
     * @date: 2022/4/27 5:15
     * @description: 更新论坛信息
     */
    boolean update(BusinessForumDto dto);
    /**
     * @param entity: 实体对象
     * @return: com.shijunhao.graduation.domain.vo.BusinessForumListVo
     * @author: shijunhao
     * @date: 2022/4/18 16:26
     * @description: 转为简表列表对象
     */
    BusinessForumListVo toListVo(BusinessForum entity);

    /**
     * @param entity: 实体信息
     * @return: com.shijunhao.graduation.domain.vo.BusinessForumVo
     * @author: shijunhao
     * @date: 2022/4/19 2:23
     * @description: 转详细信息
     */
    BusinessForumVo mapping(BusinessForum entity);

    /**
     * @param page: 分页信息
     * @return: com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.shijunhao.graduation.domain.vo.BusinessForumVo>
     * @author: shijunhao
     * @date: 2022/4/27 1:17
     * @description: 查询我的论坛信息
     */
    IPage<BusinessForumMineVo> pageMine(IPage<BusinessForum> page);

    /**
     * @param entity:
     * @return: com.shijunhao.graduation.domain.vo.BusinessForumMineVo
     * @author: shijunhao
     * @date: 2022/4/27 1:30
     * @description: 转为我的论坛列表vo
     */
    BusinessForumMineVo toMineListVo(BusinessForum entity);

    /**
     * @param id: 论坛id
     * @return: boolean
     * @author: shijunhao
     * @date: 2022/4/27 4:55
     * @description: 删除论坛信息
     */
    boolean delete(Long id);
}
